﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Cesave.Domain.PermisosModule.Entities;

namespace Cesave.Domain.PermisosModule.Contracts.ProduccionTipos
{
	/// <summary>
	/// Contrato del servicio de tipos de producción.
	/// </summary>
	public interface IProduccionTipoService
		: IDisposable
	{
		/// <summary>
		/// Agrega un nuevo tipo de producción.
		/// </summary>
		/// <param name="tipo"></param>
		void AddProduccionTipo(ProduccionTipo tipo);

		/// <summary>
		/// Modifica un tipo de producción.
		/// </summary>
		/// <param name="tipo"></param>
		void ChangeProduccionTipo(ProduccionTipo tipo);

		/// <summary>
		/// Obtiene todos los tipos de producción.
		/// </summary>
		/// <returns></returns>
		List<ProduccionTipo> FindAllProduccionTipos();

		/// <summary>
		/// Obtiene los tipos de producción de acuerdo al status.
		/// </summary>
		/// <param name="status"></param>
		/// <returns></returns>
		List<ProduccionTipo> FindProduccionTiposByStatus(bool status = true);

	}
}
